package com.hyt.it.ogt.pj.feign.kq;

import com.hyt.loginfo.config.OAuth2FeignRequestConfig;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;


/**
 * 报名接口
 * @author 洪滨滨
 * @since 2020/6/12 
 */
@FeignClient(name="it-ogt-kq", contextId = "it-ogt-kq-bm", fallback = KqClientHystrix.class, configuration = OAuth2FeignRequestConfig.class)
public interface KqClient {
	
	/**
	 * 获取科目信息(通过报名id)
	 * @param 报名id
	 * @return
	 */
	@GetMapping("/bm/student/getSubjects")
	public String getSubjects(@RequestParam String enrollId, @RequestParam String subjectId);
	
	/**
	 * 根据考生科目id获取考生信息列表
	 * @param 考生ids
	 * @param 是否获取全部考生
	 * @return
	 */
	@GetMapping("/bm/student/getProjectCollectInfos")
	public String getProjectCollectInfos(@RequestParam String enrollId, @RequestParam String subjectId, @RequestParam String candidateIds, @RequestParam Boolean isAll, @RequestParam String kwFlag);

	/**
	 * 记录成功导入的考生
	 * @param 报名id
	 * @param 科目id
	 * @param 学生id
	 * @return
	 */
	@GetMapping("/bm/student/recordSuccessCandidates")
	public String recordSuccessCandidates(@RequestParam String enrollId, @RequestParam String subjectId, @RequestParam String studentIds);

	/**
	 * 显示报名明细
	 * @param pageJson
	 * @param enrollId
	 * @param subjectId
	 * @param name
	 * @return
	 */
	@GetMapping("/bm/student/getBmDetails")
	public String getBmDetails(@RequestParam String pageJson, @RequestParam String enrollId, @RequestParam String subjectId, @RequestParam String name);

	/**
	 * 查询报名名称
	 * @param enrollId
	 * @return
	 */
	@GetMapping("/bm/student/queryProject")
	public String getBmName(@RequestParam("projectId") String enrollId);

	/**
	 * 修改报名考生状态为未导入
	 * @param studentJson
	 * @return
	 */
	@GetMapping("/bm/student/deleteCandidates")
	String deleteCandidates(@RequestParam String studentJson);
	
	/**
	 * 获取报名信息
	 * @param enrollId
	 * @return
	 */
	@GetMapping("/bm/student/queryProject")
	String getBmProject(@RequestParam("projectId") String enrollId);

	/**
	 * 统计考生科目数量
	 * @param examId 考试任务id
	 * @return 考生科目数量
	 */
	@GetMapping("/bm/student/statByExamId")
	String statByExamId(@RequestParam String examId);

}
